Systems and methods for quality management system deployment

ABSTRACT

A system for quickly deploying QM systems in contact centers is provided. A user or administrator can quickly install a QM application on a deployment server. The administrator can provide the QM application access to the contact center data where the QM application can import data from the contact center routing system about one or more customers, agents, queues, teams, and any other information or items typically associated with contact center routing systems. The imported data may also include presence data about the agents, teams, and customers. Based on the imported data, the QM application may execute one or more workflows to automatically determine information such as evaluation frequency and coaching frequency about the agents and teams, or to create or select quality forms to use for the evaluation one or more agents, teams, or contacts.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/666,498 filed on Oct. 29, 2019, entitled “SYSTEMS AND METHODS FORQUALITY MANAGEMENT SYSTEM DEPLOYMENT.” The contents of which are herebyincorporated by reference.

BACKGROUND

The initial deployment and configuration of a contact center qualitymanagement (QM) application is typically a time-consuming process oftentaking weeks or months. Within a QM application, users must be set upmanually (agents, evaluators/quality analysts, supervisors/managers,admins, etc.) as well as the creation and association of things likequeues/skills, teams, and quality forms (evaluation templates) is alsodone manually. The inability of QM applications to configure these itemsquickly and automatically leads to a large amount of work for QMadministrators to collect, interpret, and input the necessaryinformation.

SUMMARY

A system for quickly deploying a QM application in contact centers isprovided. A user or administrator can quickly install a QM applicationon a deployment server. The administrator can provide QM applicationaccess to the contact center routing system where the QM application canimport data from the contact center routing system about one or morecustomers, agents, queues, teams, and any other information or itemstypically associated with contact center application setup. The importeddata may also include presence data about the agents, teams, andcustomers. Based on the imported data, the QM application may executeone or more workflows to automatically determine information such asevaluation frequency and coaching frequency about the agents and teams,or to create or select quality forms to use for the evaluation of one ormore agents, teams, or contacts.

As may be appreciated, the QM deployment systems and methods describedherein provide many advantages over the prior art. By leveraging theinformation that is already part of the contact center routing systemused by an entity, the QM application can be easily and quickly deployedwithout significant input from an administrator. Accordingly, the QMdeployment systems and applications described herein can save theseentities significant time and money.

In an embodiment, a method for configuring an application for a contactcenter is provided. The method includes: interfacing with a contactcenter by an application; receiving contact center data from the contactcenter by the application; receiving a selection of an item of theapplication to configure by the application; based on the selected item,selecting a workflow corresponding to the selected item by theapplication; and configuring the item of the application automaticallyusing the selected workflow and the contact center data by theapplication.

Implementations may include some or all of the following features. Theapplication is a QM application. Configuring the item of the applicationautomatically using the selected workflow and the contact center data bythe application may include configuring one or more evaluationfrequencies. Configuring the item of the application automatically usingthe selected workflow and the contact center data by the application mayinclude configuring one or more coaching frequencies. Configuring theitem of the application automatically using the selected workflow andthe contact center data by the application may include configuring oneor more calibration frequencies. Configuring the item of the applicationautomatically using the selected workflow and the contact center data bythe application may include configuring one or more forms. Interfacingwith the contact center by the application may include: requestingcredentials from a user associated with the contact center; andinterfacing with the contact center using the requested credentials.

In an embodiment, a method for configuring a quality management systemfor a contact center is provided. The method includes: interfacing witha contact center by a quality management system; determining a pluralityof agents associated with the contact center by the quality managementsystem; retrieving presence data for each agent from the contact center,wherein the presence data for an agent comprises a plurality of eventsand each event is associated with a time; for at least one agent of theplurality of agents, determining an evaluation frequency based on thepresence data for the at least one agent by the quality managementsystem; and presenting the determined evaluation frequency forconfirmation by the quality management system.

Implementations may include some or all of the following features.Determining the evaluation frequency based on the presence data for theat least one agent may include: inferring, from the presence data, aseniority for the at least one agent; and determining the evaluationfrequency for the at least one agent based on determined seniority. Theevents may include one or more of computer logins, computer logouts,communications, and application activities. The method may furtherinclude, for the at least one agent of the plurality of agents,determining, based on the presence data, a coaching frequency for the atleast one agent. The evaluation frequency may include a self-evaluationfrequency. The method may further include determining a plurality ofteams associated with the contact center; retrieving contact center datafor each team from the contact center; for at least one team of theplurality of teams, recommending a quality form for the team based onthe contact center data. Interfacing with the contact center by thequality management system may include: requesting credentials from auser associated with the contact center; and interfacing with thecontact center using the requested credentials.

In an embodiment, a method for configuring a quality management systemfor a contact center is provided. The method includes: interfacing witha contact center by a quality management system; determining a pluralityof agents associated with the contact center by the quality managementsystem; retrieving presence data for each agent from the contact centerby the quality management system, wherein the presence data for an agentcomprises a plurality of events and each event is associated with atime; for at least one agent of the plurality of agents, determining acoaching frequency based on the presence data for the at least one agentby the quality management system; and presenting the determined coachingfrequency for confirmation by the quality management system.

Implementations may include some or all of the following features.Determining the coaching frequency based on the presence data for the atleast one agent may include: inferring, from the presence data, aseniority for the at least one agent; and determining the coachingfrequency for the at least one agent based on determined seniority. Theevents may include one or more of computer logins, computer logouts,communications, and application activities. The method may furtherinclude: for the at least one agent of the plurality of agents,determining, based on the presence data, an evaluation frequency for theat least one agent. The evaluation frequency comprises a self-evaluationfrequency. The method may further include: determining a plurality ofteams associated with the contact center; retrieving contact center datafor each team from the contact center; for at least one team of theplurality of teams, recommending a quality form template for the teambased on the contact center data. Interfacing with the contact center bythe quality management system may include: requesting credentials from auser associated with the contact center; and interfacing with thecontact center using the requested credentials.

In an embodiment, a method for configuring a quality management systemfor a contact center is provided. The method includes: interfacing witha contact center by a quality management system; determining a pluralityof teams associated with the contact center by the quality managementsystem; retrieving contact center data for each team from the contactcenter by the quality management system; for at least one team of theplurality of teams, determining a quality form template for the teambased on the contact center data by the quality management system; andpresenting the determined quality form template for the at least oneteam for confirmation by the quality management system.

Implementations may include some or all of the following features.Interfacing with the contact center by the quality management system mayinclude: requesting credentials from a user associated with the contactcenter; and interfacing with the contact center using the requestedcredentials. The method may further include: determining a plurality ofagents associated with the contact center by the quality managementsystem; retrieving presence data for each agent from the contact centerby the quality management system, wherein the presence data for an agentcomprises a plurality of agent activities and each agent activity isassociated with a time; for at least one agent of the plurality ofagents, determining a coaching frequency based on the presence data forthe at least one agent; and presenting the determined coaching frequencyfor confirmation. The method may further include: determining aplurality of agents associated with the contact center; retrievingpresence data for each agent from the contact center by the qualitymanagement system, wherein the presence data for an agent comprises aplurality of events and each event is associated with a time; for atleast one agent of the plurality of agents, determining an evaluationfrequency based on the presence data for the at least one agent; andpresenting the determined evaluation frequency for confirmation. Theevaluation frequency may be a self-evaluation frequency. Interfacingwith the contact center by the quality management system may include:requesting credentials from a user associated with the contact center;and interfacing with the contact center using the requested credentials.The quality form template may include a plurality of questions.

Other systems, methods, features and/or advantages will be or may becomeapparent to one with skill in the art upon examination of the followingdrawings and detailed description. It is intended that all suchadditional systems, methods, features and/or advantages be includedwithin this description and be protected by the accompanying claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The components in the drawings are not necessarily to scale relative toeach other. Like reference numerals designate corresponding partsthroughout the several views.

FIG. 1 is an illustration of an example system architecture;

FIG. 2 is an illustration of an example environment for installing andconfiguring a QM application;

FIG. 3 is an illustration of an example method for configuring a QMsystem;

FIG. 4 is an illustration of an example method for automaticallyconfiguring items for a QM application based on data received from acontact center routing system;

FIGS. 5-7 are illustrations of example methods for automaticallyconfiguring a QM application based on data received from a contactcenter routing system;

FIG. 8 is an illustration of an example method for automaticallyconfiguring a QM application using workflows;

FIG. 9 is an illustration of an example method for generating atemplate; and

FIG. 10 illustrates an example computing device.

DETAILED DESCRIPTION

Unless defined otherwise, all technical and scientific terms used hereinhave the same meaning as commonly understood by one of ordinary skill inthe art. Methods and materials similar or equivalent to those describedherein can be used in the practice or testing of the present disclosure.While implementations will be described within the context of acloud-based contact center routing system, it will become evident tothose skilled in the art that the implementations are not limitedthereto.

FIG. 1 is an example system architecture 100, and illustrates examplecomponents, functional capabilities and optional modules that may beincluded in a cloud-based contact center infrastructure solution.Customers 110 interact with a contact center 150 using voice, email,text, and web interfaces in order to communicate with the agents 120through a network 130 and one or more of text or multimedia channels.The platform that controls the operation of the contact center 150including the routing and handling of communications between customers110 and agents 120 for the contact center 150 is referred to herein asthe contact routing system 153. Depending on the embodiment, the contactrouting system 153 could be any of a contact center as a service (CCaS)system, an automated call distributor (ACD) system, or a case system,for example. Depending on the embodiment, a customer 110 may refer topurchaser of the contact routing system 153 and/or the QM application260, or a user or entity that communicates with the contact routingsystem 153, for example.

The agents 120 may be remote from the contact center 150 and handlecommunications with customers 110 on behalf of an enterprise. The agents120 may utilize devices, such as but not limited to, work stations,desktop computers, laptops, telephones, a mobile smartphone and/or atablet. Similarly, customers 110 may communicate using a plurality ofdevices, including but not limited to, a telephone, a mobile smartphone,a tablet, a laptop, a desktop computer, or other. For example, telephonecommunication may traverse networks such as a public switched telephonenetworks (PSTN), Voice over Internet Protocol (VoIP) telephony (via theInternet), a Wide Area Network (WAN) or a Large Area Network (LAN). Thenetwork types are provided by way of example and are not intended tolimit types of networks used for communications.

In some embodiments, the agents 120 may be assigned to one or morequeues. The agents 120 assigned to a queue may handle communicationsthat are placed in the queue by the contact routing system 153. Forexample, there may be queues associated with a language (e.g., Englishor Chinese), topic (e.g., technical support or billing), or a particularcountry of origin. When a communication is received by the contactrouting system 153, the communication may be placed in a relevant queue,and one of the agents 120 associated with the relevant queue may handlethe communication.

The agents 120 of a contact center 150 may be further organized into oneor more teams. Depending on the embodiment, the agents 120 may beorganized into teams based on a variety of factors including, but notlimited to, skills, location, experience, assigned queues, associated orassigned customers 110, and shift. Other factors may be used to assignagents 120 to teams.

Entities that employ workers such as agents 120 typically use a QMsystem. QM systems are typically used to ensure that the agents 120 areproviding customers 110 with a high-quality product or service. The QMsystems do this by determining when and how to evaluate, train, andcoach each agent 120 based on seniority, team membership, or associatedskills as well as quality of performance while handling customer 110interactions. The QM systems may further generate and provide surveys orquestionnaires to customers 110 to ensure that they are satisfied withthe service being provided by the contact center 150.

As may be appreciated, initially gathering and providing the informationneeded by a QM system may be a time-consuming task. Accordingly, tosolve this problem, the environment 100 further includes a QMapplication 260 that may be quickly deployed. The workings of both theapplication will be described in further detail with respect to FIG. 2.

Initially, when an administrator associated with a contact routingsystem 153 desires to set up a QM system, the administrator may firstcreate or designate what is referred to as a deployment server 170. Thedeployment server 170 executing the QM application 260 may be the QMsystem for the contact center 150. Note that depending on theembodiment, the QM system may be implemented on its own deploymentserver 170. In addition, some or all of the contact routing system 153or the QM system may be implemented together on the same computer,deployment server 170, or cloud-computing environment. An exampledeployment server 170 is the computing system 1100 illustrated withrespect to FIG. 11.

After creating the deployment server 170, the administrator may thencause the QM application 260 to be installed on the deployment server170 by an application server 160. Depending on the embodiment, theapplication server 160 may function similar to an “app store” where theadministrator of the contact center 150 may view the applications(including the application 260) that are available for download. Afterselecting the QM application 260, the application server 160 may causethe application 260 to be installed on the deployment server 170.

In order to configure the QM application 260, rather than have theadministrator configure the application 260 from scratch, theapplication 260 may be configured to interface with, and retrieve datafrom, the contact routing system 153. As may be appreciated, because thecontact routing system 153 already includes data that is relevant to theQM application 260 (e.g., information on agents 120 and information oncustomers 110), it may be desirable to import the data directly from thecontact routing system 153.

After the relevant data has been imported into the QM application 260the application may have one or more workflows that can be executed bythe administrator to automatically set up and configure the applicationusing the imported data. Each workflow may attempt to configure theassociated application from the imported data with as little input fromthe administrator as possible. At the end of each workflow, theadministrator may be asked to confirm or accept any proposedconfigurations or settings suggested by the workflow.

For example, with respect to the QM application 260, there may beworkflows that infer, for each agent 120, team of agents 120, orcustomer 110, settings such as evaluation frequency and coachingfrequency. The workflows may further recommend QM forms to use for eachagent 120, team, or customer 110. The particular workflows will bedescribed further with respect to FIG. 2.

As may be appreciated, the embodiments described herein are not limitedto configuring QM applications 260 using data imported from a contactrouting system 153. Other sources of data may be used. For example, theapplication 260 may import data from a variety of systems including, butnot limited to, customer relationship management systems and documentmanagement systems. Other systems may be included.

FIG. 2 is an illustration of an example environment 200 for installingand configuring a QM application 260. As shown, the environment 200includes a deployment server 170, a contact routing system 153, and anadministrator 290. Depending on the embodiment, each of the contactrouting system 153, deployment server 170, and administrator 290 may beimplemented together or separately by one or more general purposecomputing devices such as the computing system 1000 illustrated withrespect to FIG. 10.

The administrator 290 may cause the QM application 260 to be installedon the deployment server 170. As part of the configuration process, theadministrator 290 may allow the QM application 260 to access the contactrouting system 153. For example, the administrator 290 may providecredentials (e.g., login and password) to the QM application 260, andthe QM application 260 may use an API to access the contact routingsystem 153 using the credentials. Other methods for accessing a contactrouting system 153 (or other data source) may be used.

The QM application 260 may initially download contact center data 159and may begin using the contact center data 159 to configure the QMapplication 260 for the administrator 290. Depending on the embodiment,the contact center data 159 may include information about the contactcenter 150 such as information about the agents 120, teams that theagents 120 are organized into, queues associated with the contact center150, contacts 110 associated with the contact center 150, skillsassociated with the agents 120 and queues, historical contact data(e.g., historical data for each queue about the volume of contacts,handling times, etc.), seniority information about each agent 120, andevent types.

The contact center data 159 may further include information aboutemployees (e.g., supervisors or evaluators) who are responsible forevaluating agents 120 and providing coaching, any verticals associatedwith the business of the entity that controls the contact center 150,any departments that the employees and agents 120 may be divided into,and any historical QM forms that may have been used by the entity at thecontact center 150. Other information such as location/region associatedwith agents 120 may be included in the contact center data 159.

The QM application 260 may use some or all of the contact center data159 to begin setting up the QM application 260 for the administrator290. For example, the QM application 260 may extract all of the agents120 and employees associated with the contact center 150, theirseniority (based on hire date) and/or their geographical location orregion and may enter them into the QM application 260. The QMapplication 260 may similarly, extract information such as the customers110 associated with the contact center 150, the queues associated withthe contact center 150, and any teams associated with the contact center150.

In some implementations, the QM application 260 may provide agraphical-user interface (GUI) through which the administrator 290 canreview and control what information is imported into the QM application260 from the contact center data 159. For example, the QM application260 may ask the administrator 290 to confirm each agent 120, contact110, team, or employee that it extracts from the contact center 150.Depending on the embodiment, the administrator 290 may also use the GUIto add any additional information to the QM application 260 includingany agents 120, customers 110, teams, or queues that the QM application260 was unable to extract from the contact center data 159.

As may be appreciated, by initially configuring the QM application 260automatically using the contact center data 159, a great amount of timeand energy is saved by the administrator 290. Previously, to configure aQM application 260, the administrator 290 would have had to manually addeach setting and each agent 120, contact 110, queue, or team to the QMapplication 260.

In addition to the automatic importing of certain contact center data159. The QM application 260 described herein may use one or moreworkflows to infer additional QM application 260 items or settings tofurther reduce the amount of time that the administrator 290 may spendconfiguring the application. The QM application 260 may infer the itemsor settings from the contact center data 159.

An important area of a QM application 260 that also tends to betime-consuming for an administrator 290 to configure is the setup ofquality evaluation forms (sometimes also referred to as scoringtemplates or scorecards) that will be used for evaluating/scoring agentperformance while handling customer interactions. The first part isoperational as consensus must be reached on the key metrics to measurein order to drive performance improvements and to increase the qualityof customer experiences (i.e. what criteria will be used/what questionswill be asked on the evaluation form).

The second challenge is the feasibility of creating/building theevaluation form template within the QM system itself. This can be acomplex and time-consuming process if the QM evaluation form is notbuilt with user experience in mind and the interface is notuser-friendly or intuitive. This QM application 260 will have theability to auto-suggest form templates to be selected for publishing(either “as is” or with some further tweaks/edits by the administrator)and used for evaluation purposes. If one or more of the auto-suggestedtemplates (recommended by the QM application 260) is not chosen duringinitial setup, they will be available later for manual selection from alibrary of form templates. These form templates will vary in content(i.e. types of sections, questions, and response options) based oncriteria including but not limited to: industry vertical (e.g.healthcare vs. finance vs. retail, etc.), type of assessment (e.g. phonevs. digital channels), and line of business/department (e.g. sales vs.support). This information will be inferred based on the contact centerdata 159 which was imported from the contact routing system 153 duringinitial setup of the QM application 260. This contact center data 159used for inferring form template type will include but not be limited toentities such as: team name, queue name, as well as geographicallocation/region and/or seniority date of the agents 120 assigned to ateam or queue.

For example, for teams with team names that include “Inbound Calls” or“Outbound Calls” and are assigned to queues with queue names including“Sales”, the QM application 260 will auto-suggest the form template“Phone—Retail/Sales” targeted towards the retail industry, andcontaining sales-related question content such as “did the agent offerproduct X with service Y in an attempt to up-sell/cross-sell thecaller?” Another example could be teams with team names including“Banking” or “Compliance” assigned to queues with queue names including“Customer Service” in which case the QM application 260 wouldauto-suggest a form template such as “Phone—Finance/Customer Service”containing question content tailored for the Finance industry centeredaround compliance, which would contain question content such as: “If thecustomer asked where the agent was located, did the agent provided themwith an accurate answer?” Form templates will be auto-suggested by theQM application 260 with the administrator 290 having the ability toaccept or decline the auto-suggested form templates. Accepting ordeclining can be for either all auto-suggested templates or certainselected ones (one or more). If all auto-suggested templates aredeclined, the administrator will be presented with a message asking if aGeneric form template should be used (can accept or decline it). Eitherdecision (accept or decline) can be changed later as the administrator290 will have the ability to go into the configuration area of the QMapplication 260 to manually select one or more form templates from thetemplate library at any time. Furthermore, form templates acceptedduring initial setup can be modified at any time in order to change theform name, description, team assignment, section names, question typeand content, option choices for responses/answers, and associated pointvalues. The intent is to speed up the initial form setup process andreduce administrator 290 effort as part of the QM application 260configuration.

The QM application 260 may also infer the one or more items from what isreferred to herein as presence data 155. Depending on the embodiment,the presence data 155 may include a plurality of events associated witheach agent 120 or customer 110, and each event may be associated with atime. For an agent 120, the events may include logging in or out of acomputer, receiving or responding to a communication such as an email ortelephone call, and updating a record in an application, for example.Other types of events may be supported.

In some embodiments, the presence data 155 may be received from thecontact routing system 153 by the QM application 260. Alternatively, oradditionally, the presence data 155 may be extracted from the contactcenter data 159. The events included in the presence data 155 may beselected by the administrator 290, for example.

For a customer 110, the events may include sending a communication tothe contact center 150, receiving a communication from the contactcenter 150, and interacting with an agent 120. Other types of events maybe supported.

The QM application 260 may use workflows to infer one or more items suchas evaluation frequencies 263, coaching frequencies 265, calibrationfrequencies 266, and QM forms 267. Other configurable items may beconfigured using a workflow.

With respect to evaluation frequencies 263, the QM application 260 mayask the administrator 290 (using the GUI) whether agents 120 across allteams have the same evaluation frequency or whether this differs byteam. If an administrator 290 answers that it differs by team, then theQM application 260 may ask the administrator 290 if each agent 120within a particular team has the same evaluation frequency 263 (e.g.,once a week, once a month, or once a quarter). Evaluation frequency 263may refer to one or both of self-evaluations and evaluations performedby a superior. If the administrator 290 answers affirmatively, the QMapplication 260 may request the evaluation frequency 263 for the agents120 in that team from the administrator 290. The QM application 260 maythen consider the next team of the contact center 150 repeating throughall available teams.

If the administrator 290 answers negatively (i.e., each agent 120 doesnot have the same evaluation frequency 263), the QM application 260, foreach agent 120 of the team, may use the contact center data 159 and/orthe presence data 155 to determine the evaluation frequency 263 for theagent 120.

In one embodiment, the QM application 260 may use the contact centerdata 159 and/or the presence data 155 to determine the seniority of anagent 120 and may determine the evaluation frequency 263 of the agent120 based on the seniority of the agent 120. For example, the contactcenter data 159 may indicate a start date for the agent 120, or thepresence data 155 may indicate the earliest date that the agent 120logged into the contact routing system 153 of the contact center 150.The QM application 260 may use the start date of the agent 120 todetermine the seniority of the agent 120.

After determining the seniority of the agent 120, the QM application 260may use one or more rules to determine the evaluation frequency of 263of the agent 120 based on the seniority. An example rule is anevaluation frequency 263 of twice a month for agents 120 with aseniority of less than a year, and an evaluation frequency 263 of once amonth for agents 120 with a seniority of more than a year. The rulesused to determine the evaluation frequency 263 may be set by theadministrator 290 or may be based on one or more industry standards, forexample.

After the QM application 260 infers evaluation frequencies 263 for theagents 120 in a team, the QM application 260 may present the determinedevaluation frequencies 263 for each agent 120 to the administrator 290through the GUI. The administrator 290 may then accept or modify theevaluation frequencies 263 for each agent 120.

With respect to coaching frequencies 265, the QM application 260 may askthe administrator 290 (using the GUI) whether agents 120 across allteams have the same coaching frequency or whether this differs by team.If an administrator 290 answers that it differs by team, then the QMapplication 260 may ask the administrator 290 if each agent 120 within ateam has the same coaching frequency 265 (e.g., once a month, once aquarter, or once a year). Coaching frequency 265 may refer to how oftenan agent 120 meets with a superior to receive coaching on a particulartopic. If the administrator 290 answers affirmatively, the QMapplication 260 may request the coaching frequency 265 for the agents120 in the team from the administrator 290. The QM application 260 maythen consider the next team of the contact center 150 repeating throughall available teams.

If the administrator 290 answers negatively (i.e., each agent 120 doesnot have the same coaching frequency 265), the QM application 260, foreach agent 120 of the team, may use the contact center data 159 and/orthe presence data 155 to determine the coaching frequency 265 for theagent 120.

Similar to the evaluation frequency 263, the QM application 260 may usethe contact center data 159 and/or the presence data 155 to infer theseniority of an agent 120 and may determine the coaching frequency 265of the agent 120 based on the seniority of the agent 120.

After inferring the seniority of the agent 120, the QM application 260may use one or more rules to determine the coaching frequency of 265 ofthe agent 120 based on the seniority. The rules used to determine thecoaching frequency 265 may be set by the administrator 290 or may bebased on one or more industry standards, for example.

After the QM application 260 infers coaching frequencies 265 for theagents 120 in a team, the QM application 260 may present the determinedcoaching frequencies 265 for each agent 120 to the administrator 290through the GUI. The administrator 290 may then accept or modify thecoaching frequencies 265 for each agent 120.

With respect to calibration frequencies 266, each QM form used by the QMapplication 260 may be periodically calibrated by one or moresupervisors to ensure that everyone has the same understanding of thequestions on the QM form 267. QM forms 267 may be used by varioussupervisors to grade the performance of agents 120 and other employeesof the contact center 150. By periodically calibrating the QM forms 267,the QM application 260 may ensure that the questions of the QM form 267are being interpreted and applied the same way by each supervisor.

To set the calibration frequencies 266, the QM application 260 may askthe administrator 290 (using the GUI) whether a standard set of QM formsare to be used for the QM application 260. If the administrator 290answers affirmatively, the QM application 260 may request the QM forms267 from the administrator 290 and may prompt the administrator 290 toenter the calibration frequencies 266 for each QM form 267.

If the administrator 290 answers negatively (i.e., there is no standardset of QM forms), the QM application 260 may use the contact center data159 to determine the calibration frequencies 266 for each QM form 267.

As described above, one or more QM forms used by the contact center 150may be indicated in the contact center data 159. For each indicated QMform 267, the QM application 260 may infer a calibration frequency 266for the form 267 using one or more rules that relate characteristics ofthe form to one or more calibration frequencies 266. The characteristicsmay include form type, form complexity, etc. Depending on theembodiment, the one or more rules may be set by the administrator 290 ormay be default rules associated with the QM application 260.

After the QM application 260 infers a calibration frequency 266 for eachQM form 267, the QM application 260 may present the determined QM forms267 and calibration frequencies 266 to the administrator 290 through theGUI. The administrator 290 may then accept or modify the calibrationfrequencies 266 and may accept or reject some or all of the determinedQM forms 267.

FIG. 3 is an illustration of an example method 300 for configuring a QMsystem. The method 300 may be performed by the QM application 260.Depending on the embodiment, an administrator 290 may have installed theQM application 260, and the method 300 may configure one or more itemsof the QM application 260 using contact center data 159 and presencedata 155 automatically downloaded from a contact routing system 153.

At 301, an item is selected to configure. The item may be a configurableitem or setting of the QM application 260. For the QM application 260,configurable items may include evaluation frequency 263, coachingfrequency 265, calibration frequency 266, and QM forms 267. Otherconfigurable items may be supported. Depending on the embodiment anditems, the items may be configurable per agent 120, per customer 110, orper team, for example. The item may be selected automatically by the QMapplication 260, or may be selected by a user (e.g., administrator 290)using a GUI.

At 303, a team is selected. The team may be a group of agents 120 andmay be selected by the administrator 290 through the GUI. Alternatively,the team may be selected automatically (i.e., without user input) by theQM application 260. Depending on the embodiment, the teams may be teamsof the contact center 150 and may have been determined from contactcenter data 159 downloaded from the contact routing system 153. Becausethe teams were determined from the contact center data 159, theadministrator 290 did not have to manually enter the teams (andassociated agents 120) into the QM application 260.

At 305, a determination is made as to whether the selected item has asimple configuration with respect to the team. Depending on theembodiment, the QM application 260 may make the determination by askingthe administrator 290 using the GUI.

Whether or not an item has a simple configuration may be dependent onthe item. Generally, an item has a simple configuration if all agents120 associated with the team have the same value or setting for theitem. For example, for an item such as evaluation frequency 263, theitem may have a simple configuration if all agents 120 of the team havethe same evaluation frequency (e.g., once a month).

If the administrator 290 indicates that the item has a simpleconfiguration, the method 300 may continue at 307. Else, the method 300may continue at 309.

At 307, user input is received and the item is configured. Because theconfiguration was determined to be simple, the item may be configured bythe QM application 260 asking the administrator 290 to provide a valuefor the item (through the GUI). User input including the value may bereceived from the administrator 290 and may be used by the QMapplication 260 to configure the item for all agents 120 associated withthe team.

For example, the administrator 290 may provide the value “monthly” asthe evaluation frequency 263 for the agents 120 in the team. The QMapplication 260 may then configure the evaluation frequency 263 to“monthly” for all agents 120 in the team.

At 309, automatic configuration of the item is performed. The automaticconfiguration of the item may be performed by the QM application 260using one or both of the contact center data 159 or the presence data155. In particular, the item may be configured by the QM application260, for each agent 120 of the team, inferring the value of the itemfrom the contact center data 159 or the presence data 155. The value maybe inferred using a workflow associated with the item.

Continuing the example above, for an item such as the evaluationfrequency 263, the QM application 256, for each agent 120 in the team,may analyze the presence data 155 associated with the agent 120 todetermine events such as logins and application usage, that may indicatethe date when the agent 120 first started working for the contact center150. Based on the determined date the QM application 260 may infer theseniority of the agent 120. The evaluation frequency 263 for the agent120 may be based on the inferred seniority.

At 311, a user review is performed. The user review may be performed bythe QM application 260. Depending on the embodiment, the QM application260 may display the proposed configuration for the item with respect toeach agent 120 in the team to the administrator 290, and theadministrator 290 may approve the configurations, or may providedifferent values to use for some or all of the proposed itemconfigurations.

At 313, a determination is made of whether there are more teams that theselected item may be configured for. The determination may be made bythe QM application 260. If there are more teams, then the method 300 mayreturn to 303 where a new team may be selected. Else, the method 300 maycontinue at 315.

At 315, a determination is made of whether there are more items that maybe configured. The determination may be made by the QM application 260.If there are more items, then the method 300 may return to 301 where anew item may be selected. Else, the method 300 may exit at 317.

FIG. 4 is an illustration of an example method 400 for automaticallyconfiguring items for a QM application 260 based on data received from acontact routing system 153. The method 400 may be implemented by the QMapplication 260.

A 410, a contact routing system is interfaced with. The QM application260 may interface with the contact routing system 153 using credentialsprovided by the administrator 290.

At 415, contact center data 159 is received. The contact center data 159may be received by the QM application 260 from the contact routingsystem 153 through the interface.

At 420, a selection of an item to configure is received. The selectionof the item may be received by the QM application 260 from anadministrator 290 through a GUI. The GUI may be used by theadministrator 290 to configure the QM application 260.

The selected item may be a configurable item associated with the QMapplication 260 and may include evaluation frequency 263, coachingfrequency 165, calibration frequency 266, and QM forms 267. Other itemsmay be configured. The configurable items may be related to agents 120,teams, or customers 110 associated with the contact center 150.

At 425, a workflow corresponding to the selected item is selected. Theworkflow may be selected by the QM application 260 from a plurality ofworkflows.

At 430, the selected item is configured automatically using the selectedworkflow and the contact center data. The selected item may beconfigured by the QM application 260. Depending on the embodiment, theitem may be configured also using presence data 155 and/or seniority,skills, and verticals determined from the contact center data 159.

FIG. 5 is an illustration of an example method 500 for automaticallyconfiguring a QM application 260 based on data received from a contactrouting system 153. The method 500 may be implemented by the QMapplication 260.

At 510, a contact routing system is interfaced with. A QM application260 may interface with the contact routing system 153 as part ofconfiguring the QM application 260. In some embodiments, an entity oradministrator 290 associated with the contact center 150 may havedetermined to create and configure a QM system to ensure that the agents120 of the contact center 150 are providing high quality service to thecustomers 110 of the contact center 150. Accordingly, the administrator290 may have caused an instance of the QM application 260 to beinstalled on a deployment server 170. The deployment server 170executing the QM application 260 may be referred to as the QM server.

At 515, a plurality of agents associated with the contact center aredetermined. The plurality of agents 120 may be determined by the QMapplication 260 from contact center data 159 received from the contactrouting system 153. Depending on the embodiment, the QM application 260may further determine teams associated with the contact center 150 andmay determine agents 120 associated with each team.

At 520, presence data associated with each agent is received. Thepresence data 155 may be received by the QM application 260 from thecontact routing system 153. Depending on the embodiment, the presencedata 155 for an agent 120 may include a plurality of events, and eachevent may be associated with a time. The presence data 155 may be partof the contact center data 159 or may be received separately from thecontact routing system 153. Depending on the embodiment, the QMapplication 260 may determine one or more of seniority, skills, andverticals for the agents 120 from the contact center data 159.

At 525, for at least one agent of the plurality of agents, an evaluationfrequency may be determined. The evaluation frequency 263 may bedetermined by the QM application 260 using the presence data 155associated with the at least one agent 120.

The evaluation frequency 263 for an agent 120 may be the frequency atwhich the performance of the agent 120 is evaluated or measured. Theevaluation frequency 263 may include evaluations that are performed bysuperiors of the agent 120 as well as evaluations performed by the agent120 (i.e., self-evaluations). By regularly evaluating agents 120 of thecontact center 150 the QM application 260 can ensure that the agents 120continue to provide high-quality service to customers 110 of the contactcenter 150.

In some embodiments, the QM application 260 may determine the evaluationfrequency 263 using the presence data 155. In particular, the QMapplication 260 may use the presence data 155 to infer the seniority ofthe agent based on the first time the agent 120 is associated with anevent such as a login into a computer or the use of an application. Thetime associated with the event may be used to estimate the seniority ofthe agent 120. The seniority of the agent 120 may then be used to selectthe evaluation frequency for the agent 120 according to guidelines orrules for setting evaluation frequencies 263. Generally, the greater thedetermined seniority of the agent 120, the lower the evaluationfrequency 263.

Alternatively, the QM application 260 may determine the evaluationfrequency 263 from one or more of seniority, skills, and verticals forthe agent 120 determined from the contact center data 159. For example,the QM application 260 may determine the seniority of the agent 120directly from the contact center data 159 and may determine theevaluation frequency 263 from the seniority.

At 530, the evaluation frequency is presented for confirmation. Theevaluation frequency 263 may be presented to the administrator 290 forconfirmation using a GUI. If the administrator 290 confirms theevaluation frequency, the evaluation frequency 263 may be associatedwith the agent 120 in the QM application 260. The method 800 may thendetermine an evaluation frequency 263 for another agent 120.

FIG. 6 is an illustration of an example method 600 for automaticallyconfiguring a QM application 260 based on data received from a contactrouting system 153. The method 600 may be implemented by the QMapplication 260.

At 610, a contact routing system is interfaced with. A QM application260 may interface with the contact routing system 153 as part ofconfiguring the QM application 260.

At 615, a plurality of agents associated with the contact center aredetermined. The plurality of agents 120 may be determined by the QMapplication 260 from contact center data 159 received from the contactrouting system 153.

At 620, presence data associated with each agent is received. Thepresence data 155 may be received by the QM application 260 from thecontact routing system 153. Depending on the embodiment, the presencedata 155 for an agent 120 may include a plurality of events, and eachevent may be associated with a time.

At 625, for at least one agent of the plurality of agents, a coachingfrequency may be determined. The coaching frequency 265 may bedetermined by the QM application 260 using the presence data 155associated with the at least one agent 120.

The coaching frequency 265 for an agent 120 may be the frequency atwhich the agent 120 is coached by another agent 120 or a superior.Coaching may include any instruction or guidance provided to an agent120 by another agent 120 or superior. By regularly coaching agents 120of the contact center 150 the QM application 260 can ensure that theagents 120 continue to perform at a high level and are up to date on themost recent contact center 150 policies and procedures.

In some embodiments, the QM application 260 may determine coachingfrequency 265 using the presence data 155. Like the evaluation frequency263, the QM application 260 may use the presence data 155 to infer theseniority of the agent 120 and may determine the coaching frequency 265based on the seniority of the agent 120. Generally, the greater thedetermined seniority of the agent 120, the lower the coaching frequency265.

Alternatively, the QM application 260 may determine the coachingfrequency 263 from one or more of seniority, skills, and verticals forthe agent 120 determined from the contact center data 159. For example,the QM application 260 may determine the seniority of the agent 120directly from the contact center data 159 and may determine the coachingfrequency 265 from the seniority.

At 630, the coaching frequency is presented for confirmation. Thecoaching frequency 265 may be presented to the administrator 290 forconfirmation using a GUI. If the administrator 290 confirms the coachingfrequency 265, the coaching frequency 265 may be associated with theagent 120 in the QM application 260. The method 900 may then determine acoaching frequency 265 for another agent 120.

FIG. 7 is an illustration of an example method 700 for automaticallyconfiguring a QM application 260 based on data received from a contactrouting system 153. The method 700 may be implemented by the QMapplication 260.

At 710, a contact routing system is interfaced with. A QM application260 may interface with the contact routing system 153 as part ofconfiguring the QM application 260.

At 715, a plurality of teams associated with the contact center aredetermined. The plurality of agents 120 may be determined by the QMapplication 260 from contact center data 159 received from the contactrouting system 153. Depending on the embodiment, the QM application 260may further determine teams associated with the contact center 150 andmay determine agents 120 associated with each team.

At 720, for at least one team of the plurality of teams, a quality formis determined. The quality form 267 may be determined by the QMapplication 260 using the contact center data 159. The quality form 267may be a quality form template and may be generated for the at least oneteam using the method 900 described in FIG. 9. Other methods may beused.

At 725, the quality form is presented for confirmation. The quality form267 may be presented to the administrator 290 for confirmation using aGUI. If the administrator 290 confirms the quality form 267, the form267 may be associated with the agent 120 in the QM application 260.

FIG. 8 is an illustration of an example method 800 for automaticallyconfiguring a QM application 260 using workflows. The method 800 may beimplemented by the QM application 260.

At 805, an application is deployed. The application may be a QMapplication 260 and may be deployed on a deployment server 170 by anadministrator 290. Depending on the embodiment, the administrator 290may have selected the application 260 to deploy from a plurality ofapplications made available by an application server 160.

At 810, a contact routing system is interfaced with. The QM application260 may interface with the contact routing system 153 as part ofconfiguring the QM application 260. The QM application 260 may importdata from the contact routing system 153 such as contact center data 159and presence data 155. Other types of data may be imported from thecontact routing system 153.

At 815, the application is configured. The QM application 260 may beconfigured automatically using one or more workflows and the dataimported from the contact routing system 153. The items of the QMapplication 260 that may be configured using workflows may includedetermining one or more of agents 120, other employees of the contactcenter 150 such as supervisors, evaluators, and quality analysts, teams,queues, skills, departments of the contact center 150, industryverticals associated with the contact center 150, departments of thecontact center 150, historical contact data, and historical QM formsused by the contact center. Other items that may be configured includeevaluation frequencies 263, coaching frequencies 265, calibrationfrequencies 266, and QM forms 267.

At 820, some or all of the configured items are validated. The one ormore items may be validated by the administrator 290 through the GUI.Depending on the embodiment, the validated items may include anyconfigured evaluation frequencies 263, coaching frequencies 265,calibration frequencies 266, and QM forms 267. Other configured itemsmay be validated (or not validated).

FIG. 9 is an illustration of an example method 900 for generating atemplate. The method 900 may be implemented by the QM application 260.

At 905, a channel is determined. The channel may be a communicationschannel associated with the template and may be determined by the QMapplication 260. The communication channels may include email,telephone, SMS, or other channels. The particular communication channelused by the team may be inferred by the QM application 260 from thecontact center data 159 or the name of the team, for example. If the QMapplication 260 cannot infer the channel the QM application 260 may askthe administrator 290 to clarify the communication channel.

At 910, a department is determined. The department may be determined bythe QM application 260. The department may be the department or groupassociated with the team such as sales or support. The particulardepartment associated with the team may be inferred by the QMapplication from the contact center data 159 or the name of the team,for example. If the QM application 260 cannot infer the department theQM application 260 may ask the administrator 290 to clarify thedepartment.

At 915, a vertical is determined. The vertical may be determined by theQM application 260. The vertical may be the industry associated with theteam such as finance or pharmaceuticals, for example. The particularvertical associated with the team may be inferred by the QM applicationfrom the contact center data 159 or the name of the team, for example.If the QM application 260 cannot infer the vertical the QM application260 may ask the administrator 290 to clarify the vertical.

At 920, a template is generated. The template may be generated by the QMapplication 260. Depending on the embodiment, the template may begenerated by the QM application 260 selecting the template from aplurality of templates based on the determined vertical, communicationchannel, and department. In addition, the QM application 260 may use thecontact center data 159 to populate data items and/or variables used bythe template. After generating the template for the team, the QMapplication 260 may present the generated template for approval to theadministrator 290, for example.

FIG. 10 shows an exemplary computing environment in which exampleembodiments and aspects may be implemented. The computing systemenvironment is only one example of a suitable computing environment andis not intended to suggest any limitation as to the scope of use orfunctionality.

Numerous other general purpose or special purpose computing systemenvironments or configurations may be used. Examples of well-knowncomputing systems, environments, and/or configurations that may besuitable for use include, but are not limited to, personal computers,servers, handheld or laptop devices, multiprocessor systems,microprocessor-based systems, network personal computers (PCs),minicomputers, mainframe computers, embedded systems, distributedcomputing environments that include any of the above systems or devices,and the like.

Computer-executable instructions, such as program modules, beingexecuted by a computer may be used. Generally, program modules includeroutines, programs, objects, components, data structures, etc. thatperform particular tasks or implement particular abstract data types.Distributed computing environments may be used where tasks are performedby remote processing devices that are linked through a communicationsnetwork or other data transmission medium. In a distributed computingenvironment, program modules and other data may be located in both localand remote computer storage media including memory storage devices.

FIG. 10 shows an exemplary computing environment in which exampleembodiments and aspects may be implemented. The computing systemenvironment is only one example of a suitable computing environment andis not intended to suggest any limitation as to the scope of use orfunctionality.

Numerous other general purpose or special purpose computing systemenvironments or configurations may be used. Examples of well-knowncomputing systems, environments, and/or configurations that may besuitable for use include, but are not limited to, personal computers,servers, handheld or laptop devices, multiprocessor systems,microprocessor-based systems, network personal computers (PCs),minicomputers, mainframe computers, embedded systems, distributedcomputing environments that include any of the above systems or devices,and the like.

Computer-executable instructions, such as program modules, beingexecuted by a computer may be used. Generally, program modules includeroutines, programs, objects, components, data structures, etc. thatperform particular tasks or implement particular abstract data types.Distributed computing environments may be used where tasks are performedby remote processing devices that are linked through a communicationsnetwork or other data transmission medium. In a distributed computingenvironment, program modules and other data may be located in both localand remote computer storage media including memory storage devices.

With reference to FIG. 10, an exemplary system for implementing aspectsdescribed herein includes a computing device, such as computing device1000. In its most basic configuration, computing device 1000 typicallyincludes at least one processing unit 1002 and memory 1004. Depending onthe exact configuration and type of computing device, memory 1004 may bevolatile (such as random access memory (RAM)), non-volatile (such asread-only memory (ROM), flash memory, etc.), or some combination of thetwo. This most basic configuration is illustrated in FIG. 10 by dashedline 1006.

Computing device 1000 may have additional features/functionality. Forexample, computing device 1000 may include additional storage (removableand/or non-removable) including, but not limited to, magnetic or opticaldisks or tape. Such additional storage is illustrated in FIG. 9 byremovable storage 1008 and non-removable storage 1010.

Computing device 1000 typically includes a variety of tangible computerreadable media. Computer readable media can be any available tangiblemedia that can be accessed by device 900 and includes both volatile andnon-volatile media, removable and non-removable media.

Tangible computer storage media include volatile and non-volatile, andremovable and non-removable media implemented in any method ortechnology for storage of information such as computer readableinstructions, data structures, program modules or other data. Memory1004, removable storage 1008, and non-removable storage 1010 are allexamples of computer storage media. Tangible computer storage mediainclude, but are not limited to, RAM, ROM, electrically erasable programread-only memory (EEPROM), flash memory or other memory technology,CD-ROM, digital versatile disks (DVD) or other optical storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to store thedesired information and which can be accessed by computing device 1000.Any such computer storage media may be part of computing device 1000.

Computing device 1000 may contain communications connection(s) 1012 thatallow the device to communicate with other devices. Computing device1000 may also have input device(s) 1014 such as a keyboard, mouse, pen,voice input device, touch input device, etc. Output device(s) 1016 suchas a display, speakers, printer, etc. may also be included. All thesedevices are well known in the art and need not be discussed at lengthhere.

Returning to FIG. 1, agent(s) 120 and customers 110 may communicate witheach other and with other services over the network 130. For example, acustomer calling on telephone handset may connect through the PSTN andterminate on a private branch exchange (PBX). A video call originatingfrom a tablet may connect through the network 130 terminate on the mediaserver. A smartphone may connect via the WAN and terminate on aninteractive voice response (IVR)/intelligent virtual agent (IVA)components. IVR are self-service voice tools that automate the handlingof incoming and outgoing calls. Advanced IVRs use speech recognitiontechnology to enable customers to interact with them by speaking insteadof pushing buttons on their phones. IVR applications may be used tocollect data, schedule callbacks and transfer calls to live agents. IVAsystems are more advanced and utilize artificial intelligence (AI),machine learning (ML), advanced speech technologies (e.g., naturallanguage understanding (NLU)/natural language processing (NLP)/naturallanguage generation (NLG)) to simulate live and unstructured cognitiveconversations for voice, text and digital interactions. In yet anotherexample, Social media, email, SMS/MMS, IM may communicate with theircounterpart's application (not shown) within the contact center 150.

The contact center 150 itself be in a single location or may becloud-based and distributed over a plurality of locations. The contactcenter 150 may include servers, databases, and other components. Inparticular, the contact center 150 may include, but is not limited to, arouting server, a SIP server, an outbound server, a reporting/dashboardserver, automated call distribution (ACD), a computer telephonyintegration server (CTI), an email server, an IM server, a socialserver, a SMS server, and one or more databases for routing, historicalinformation and campaigns.

The ACD is used by inbound, outbound and blended contact centers tomanage the flow of interactions by routing and queuing them to the mostappropriate agent. Within the CTI, software connects the ACD to aservicing application (e.g., customer service, CRM, sales, collections,etc.), and looks up or records information about the caller. CTI maydisplay a customer's account information on the agent desktop when aninteraction is delivered. Campaign management may be performed by anapplication to design, schedule, execute and manage outbound campaigns.Campaign management systems are also used to analyze campaigneffectiveness.

For inbound SIP messages, the routing server may use statistical datafrom reporting/dashboard information and a routing database to the routeSIP request message. A response may be sent to the media serverdirecting it to route the interaction to a target agent 120. The routingdatabase may include: customer relationship management (CRM) data; datapertaining to one or more social networks (including, but not limited tonetwork graphs capturing social relationships within relevant socialnetworks, or media updates made by members of relevant social networks);agent skills data; data extracted from third party data sourcesincluding cloud-based data sources such as CRM; or any other data thatmay be useful in making routing decisions.

The integration of real-time and nonreal-time communication services maybe performed by unified communications (UC)/presence sever. Real-timecommunication services include Internet Protocol (IP) telephony, callcontrol, instant messaging (IM)/chat, presence information, real-timevideo and data sharing. Non-real-time applications include voicemail,email, SMS and fax services. The communications services are deliveredover a variety of communications devices, including IP phones, personalcomputers (PCs), smartphones and tablets. Presence provides real-timestatus information about the availability of each person in the network,as well as their preferred method of communication (e.g., phone, email,chat and video).

Recording applications may be used to capture and play back audio andscreen interactions between customers and agents. Recording systems maycapture everything that happens during interactions and what agents doon their desktops or only selected interaction types based onconfiguration. Surveying tools may provide the ability to create anddeploy post-interaction customer feedback surveys in voice and digitalchannels. Typically, the IVR/IVA development environment is leveragedfor survey development and deployment rules. Reporting/dashboards aretools used to track and manage the performance of agents, teams,departments, systems and processes within the contact center. Reportsare presented in narrative, graphical or tabular formats. Reports can becreated on a historical or real-time basis, depending on the datacollected by the contact center applications. Dashboards typicallyinclude widgets, gadgets, gauges, meters, switches, charts and graphsthat allow role-based monitoring of agent, queue and contact centerperformance. Unified messaging (UM) applications include variousmessaging and communications media (voicemail, email, SMS, fax, video,etc.) stored in a common repository and accessed by users via multipledevices through a single unified interface.

It should be understood that the various techniques described herein maybe implemented in connection with hardware or software or, whereappropriate, with a combination of both. Thus, the methods and apparatusof the presently disclosed subject matter, or certain aspects orportions thereof, may take the form of program code (i.e., instructions)embodied in tangible media, such as floppy diskettes, CD-ROMs, harddrives, or any other machine-readable storage medium wherein, when theprogram code is loaded into and executed by a machine, such as acomputer, the machine becomes an apparatus for practicing the presentlydisclosed subject matter. In the case of program code execution onprogrammable computers, the computing device generally includes aprocessor, a storage medium readable by the processor (includingvolatile and non-volatile memory and/or storage elements), at least oneinput device, and at least one output device. One or more programs mayimplement or utilize the processes described in connection with thepresently disclosed subject matter, e.g., through the use of anapplication programming interface (API), reusable controls, or the like.Such programs may be implemented in a high level procedural orobject-oriented programming language to communicate with a computersystem. However, the program(s) can be implemented in assembly ormachine language, if desired. In any case, the language may be acompiled or interpreted language and it may be combined with hardwareimplementations.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

What is claimed:
 1. A method for configuring a quality management systemfor a contact center comprising: interfacing with a contact center by aquality management system; determining a plurality of teams associatedwith the contact center by the quality management system; retrievingcontact center data for each team from the contact center by the qualitymanagement system; for at least one team of the plurality of teams,determining a quality form template for the team based on the contactcenter data by the quality management system; and presenting thedetermined quality form template for the at least one team forconfirmation by the quality management system.
 2. The method of claim 1,wherein interfacing with the contact center by the quality managementsystem comprises: requesting credentials from a user associated with thecontact center; and interfacing with the contact center using therequested credentials.
 3. The method of claim 1, further comprising:determining a plurality of agents associated with the contact center bythe quality management system; retrieving presence data for each agentfrom the contact center by the quality management system, wherein thepresence data for an agent comprises a plurality of agent activities andeach agent activity is associated with a time; for at least one agent ofthe plurality of agents, determining a coaching frequency based on thepresence data for the at least one agent; and presenting the determinedcoaching frequency for confirmation.
 4. The method of claim 1, furthercomprising: determining a plurality of agents associated with thecontact center; retrieving presence data for each agent from the contactcenter by the quality management system, wherein the presence data foran agent comprises a plurality of events and each event is associatedwith a time; for at least one agent of the plurality of agents,determining an evaluation frequency based on the presence data for theat least one agent; and presenting the determined evaluation frequencyfor confirmation.
 5. The method of claim 4, wherein the evaluationfrequency is a self-evaluation frequency.
 6. The method of claim 1,wherein interfacing with the contact center by the quality managementsystem comprises: requesting credentials from a user associated with thecontact center; and interfacing with the contact center using therequested credentials.
 7. The method of claim 1, wherein the qualityform template comprises a plurality of questions.
 8. A systemcomprising: at least one processor; and a non-transitory computerreadable medium comprising instructions that, when executed by the atleast one processor, cause the system to: interface with a contactcenter; determine a plurality of teams associated with the contactcenter; retrieve contact center data for each team from the contactcenter; for at least one team of the plurality of teams, determine aquality form template for the team based on the contact center data; andpresenting the determined quality form template for the at least oneteam for confirmation.
 9. The system of claim 8, wherein interfacingwith the contact center comprises: requesting credentials from a userassociated with the contact center; and interfacing with the contactcenter using the requested credentials.
 10. The system of claim 8,further comprising instructions that, when executed by the at least oneprocessor, cause the system to: determine a plurality of agentsassociated with the contact center; retrieve presence data for eachagent from the contact center, wherein the presence data for an agentcomprises a plurality of agent activities and each agent activity isassociated with a time; for at least one agent of the plurality ofagents, determine a coaching frequency based on the presence data forthe at least one agent; and present the determined coaching frequencyfor confirmation.
 11. The system of claim 8, further comprisinginstructions that, when executed by the at least one processor, causethe system to: determine a plurality of agents associated with thecontact center; retrieve presence data for each agent from the contactcenter, wherein the presence data for an agent comprises a plurality ofevents and each event is associated with a time; for at least one agentof the plurality of agents, determine an evaluation frequency based onthe presence data for the at least one agent; and present the determinedevaluation frequency for confirmation.
 12. The system of claim 11,wherein the evaluation frequency is a self-evaluation frequency.
 13. Thesystem of claim 8, wherein interfacing with the contact centercomprises: requesting credentials from a user associated with thecontact center; and interfacing with the contact center using therequested credentials.
 14. The system of claim 8, wherein the qualityform template comprises a plurality of questions.
 15. A non-transitorycomputer readable medium comprising instructions that, when executed byat least one processor, cause a computer system to: interface with acontact center; determine a plurality of teams associated with thecontact center; retrieve contact center data for each team from thecontact center; for at least one team of the plurality of teams,determine a quality form template for the team based on the contactcenter data; and presenting the determined quality form template for theat least one team for confirmation.
 16. The computer readable medium ofclaim 15, wherein interfacing with the contact center comprises:requesting credentials from a user associated with the contact center;and interfacing with the contact center using the requested credentials.17. The computer readable medium of claim 15, further comprisinginstructions that, when executed by the at least one processor, causethe computer system to: determine a plurality of agents associated withthe contact center; retrieve presence data for each agent from thecontact center, wherein the presence data for an agent comprises aplurality of agent activities and each agent activity is associated witha time; for at least one agent of the plurality of agents, determine acoaching frequency based on the presence data for the at least oneagent; and present the determined coaching frequency for confirmation.18. The computer readable medium of claim 15, further comprisinginstructions that, when executed by the at least one processor, causethe computer system to: determine a plurality of agents associated withthe contact center; retrieve presence data for each agent from thecontact center, wherein the presence data for an agent comprises aplurality of events and each event is associated with a time; for atleast one agent of the plurality of agents, determine an evaluationfrequency based on the presence data for the at least one agent; andpresent the determined evaluation frequency for confirmation.
 19. Thecomputer readable medium of claim 18, wherein the evaluation frequencyis a self-evaluation frequency.
 20. The computer readable medium ofclaim 15, wherein interfacing with the contact center comprises:requesting credentials from a user associated with the contact center;and interfacing with the contact center using the requested credentials.